using System;
using XDQ.VAT.Permissions;
using XDQ.VAT.Students.Dtos;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Microsoft.AspNetCore.Authorization;
using System.Threading.Tasks;

namespace XDQ.VAT.Students
{
    //[Authorize(VATPermissions.AppStudent.Default)]
    public class AppStudentAppService : CrudAppService<AppStudent, AppStudentDto, Guid, PagedAndSortedResultRequestDto, CreateUpdateAppStudentDto, CreateUpdateAppStudentDto>,
        IAppStudentAppService
    {
        protected override string GetPolicyName { get; set; } = VATPermissions.AppStudent.Default;
        protected override string GetListPolicyName { get; set; } = VATPermissions.AppStudent.Default;
        protected override string CreatePolicyName { get; set; } = VATPermissions.AppStudent.Create;
        protected override string UpdatePolicyName { get; set; } = VATPermissions.AppStudent.Update;
        protected override string DeletePolicyName { get; set; } = VATPermissions.AppStudent.Delete;

        private readonly IAppStudentRepository _repository;
        
        public AppStudentAppService(IAppStudentRepository repository) : base(repository)
        {
            _repository = repository;
        }

        public async Task SyncStudentAgeAsync()
        {
            throw new NotImplementedException();
        }
    }
}
